home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / pm-utils / sleep.d / 01PulseAudio < prev    next >
Text File  |  2009-10-26  |  1KB  |  43 lines

  1. #! /bin/sh
  2.  
  3. . "${PM_FUNCTIONS}"
  4.  
  5. get_pulse_users() {
  6.     ps -C pulseaudio -o uid= | tr -d ' '
  7. }
  8.  
  9. suspend_pulse() {
  10.     for i in $(get_pulse_users); do
  11.         for j in $(echo list-sinks | sudo -H -u \#$i pacmd | awk '/\* index:/ {print $3}'); do
  12.             echo set-sink-mute $j true | sudo -H -u \#$i pacmd > /dev/null 2>&1
  13.         done
  14.         for j in $(echo list-sources | sudo -H -u \#$i pacmd | awk '/\* index:/ {print $3}'); do
  15.             echo set-source-mute $j true | sudo -H -u \#$i pacmd > /dev/null 2>&1
  16.         done
  17.         echo suspend true | sudo -H -u \#$i pacmd > /dev/null 2>&1
  18.     done
  19. }
  20.  
  21. resume_pulse() {
  22.     for i in $(get_pulse_users); do
  23.         for j in $(echo list-sinks | sudo -H -u \#$i pacmd | awk '/\* index:/ {print $3}'); do
  24.             echo set-sink-mute $j false | sudo -H -u \#$i pacmd > /dev/null 2>&1
  25.         done
  26.         for j in $(echo list-sources | sudo -H -u \#$i pacmd | awk '/\* index:/ {print $3}'); do
  27.             echo set-source-mute $j false | sudo -H -u \#$i pacmd > /dev/null 2>&1
  28.         done
  29.         echo suspend false | sudo -H -u \#$i pacmd > /dev/null 2>&1
  30.     done
  31. }
  32.  
  33. case $1 in 
  34.     hibernate|suspend)
  35.         suspend_pulse
  36.         ;;
  37.     thaw|resume)
  38.         resume_pulse
  39.         ;;
  40.     *) exit $NA
  41.         ;;
  42. esac
  43.